<?php
    require_once(dirname(__DIR__).
        DIRECTORY_SEPARATOR.
        "inc".
        DIRECTORY_SEPARATOR.
        "incFunctions.php"
    );
    
    $LOGGED = false;
    if (API::logged()) {
        $LOGGED = API::loginRefreshLogin();
    }
    $VIEW = arrGet($_GET,"view","");
    
    # Näkymää ei tiedetä, löytyykö sessiosta
    if (!$VIEW && isset($_SESSION[API::VIEW])) {
        $VIEW = $_SESSION[API::VIEW];
    }
    
    # Näitä sivuja ei voi aukaista
    $DENY = array(
        "navbar"
    );
    
    # Pääsy estetty -> virheellinen näkymän nimi
    if (mb_strlen($VIEW) > 0) {
        $DIE = false;
        if (!mb_ereg_match("^[A-Za-z0-9]{1,}$",$VIEW)) {
            $DIE = true;
        } else if (in_array($VIEW,$DENY)) {
            $DIE = true;
        }
                
        if ($DIE) {
            die("Access denied!");
        }
    }
            
    # Käyttäjä ei ole kirjautunut sisälle
    if (!$LOGGED) {
        $VIEW = "login";
    } else if (!$VIEW) { # Käyttäjä on kirjaunut sisälle mutta näkymän nimi puuttuu
        $VIEW = "main";
    }
    
    # Tiedostoa ei löydy
    $FILE = $VIEW.DIRECTORY_SEPARATOR.$VIEW.".php";
    if (!file_exists($FILE)) {
        die("Access denied!");
    }
    
    # Näytä navigointipalkki
    if ($LOGGED) {
        # Aseta näkymä sessioon
        $_SESSION[API::VIEW] = $VIEW;
        
        echo <<<JAVASCRIPT
    <script type="text/javascript">
        if (!$("#nav-navbar").length) {
            $.ajax({
                async:      false,
                dataType:   "html",
                url:        "view/navbar/navbar.php",
                success:    function(data) {
                    $("body").prepend(data);
                }
            });
        }
        
        $(".popover").remove();
    </script>
JAVASCRIPT;
        
        # Tulosta breadcrump
        $VIEWMENU = Menu::getViewMenu($VIEW);
        if ($VIEWMENU && count(Menu::getMenu(false)[$VIEWMENU]) > 1) {
            $MENUTITLE = htmlescape(Menu::getMenuTitle($VIEWMENU));
            $VIEWTITLE = htmlescape(Menu::getViewTitle($VIEW));
            
            echo <<<HTML
    <ol class="breadcrumb">
        <li>$MENUTITLE</li>
        <li class="active">$VIEWTITLE</li>
    </ol>
HTML;
        }
    } else { # Piiloita navigointipalkki
        echo <<<JAVASCRIPT
    <script type="text/javascript">
        $("#nav-navbar").remove();
    </script>
JAVASCRIPT;
    }
        
    echo "<form class=\"form-submit\" role=\"form\">";
        require($FILE);
    echo "</form>";